Я пытаюсь загрузить прогноз после распаковки, но получаю эту ошибку /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests - это внутренний модуль NumPy и не должны импортироваться. Он будет удален в будущем NumPy. выпуск. из numpy.core.umath_tests import inner1d /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning: пытаюсь выделить средство оценки DecisionTreeClassifier из версия 0.20.2 при использовании версии 0.19.2. Это может привести к поломке код или неверные результаты. Используйте на свой риск. UserWarning) /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning: попытка отобрать оценщик RandomForestClassifier из версия 0.20.2 при использовании версии 0.19.2. Это может привести к поломке код или неверные результаты. Используйте на свой риск. UserWarning) Отслеживание (последний вызов последним): файл "rf_pred_model_tester.py", строка 7, в print ('Class:', int (rf.predict (xx))) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py" , строка 538, в прогнозе proba = self.predict_proba (X) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py", строка 581, в строке pred_proba Файл n_jobs, _, _ = _partition_estimators (self.n_estimators, self.n_jobs) "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py", строка 153 в _partition_estimators n_jobs = min (_get_n_jobs (n_jobs), n_estimators) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py", строка 464 в _get_n_jobs если n_jobs <0: TypeError: '<' не поддерживается между экземплярами 'NoneType' и 'int' вот код, который я пытаюсь запустить импортный рассол импортировать numpy как np с open ('rf_model_1', 'rb') как f: rf = pickle.load (f) xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1) print ('Класс:', int (rf.predict (xx))) Ожидаю такого результата: Класс: [0] если я запускаю код на jupyter, он работает нормально, но я получаю сообщение об ошибке, когда пытаюсь запустить на терминале.
2021-01-16 08:14:03
Твоя ошибка прямо выразилась: UserWarning: Попытка отобрать средство оценки RandomForestClassifier из версии 0.20.2 при использовании версии 0.19.2. Это может привести к нарушению кода или неверным результатам. Используйте на свой риск. И действительно это произошло; при мариновании атрибут n_jobs вашего RandomForestClassifier сохранял значение None. Это значение по умолчанию для инициализации, но «за кулисами» обычно устанавливается равным 1. Более подробную информацию о n_jobs можно найти здесь: https://scikit-learn.org/stable/glossary.html#term-n-jobs Для вас установка n_jobs для rf в 1 поможет: импортный рассол импортировать numpy как np с open ('rf_model_1', 'rb') как f: rf = pickle.load (f) rf.n_jobs = 1 xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1) print ('Класс:', int (rf.predict (xx))) | Весьма активный вопрос. Заработайте 10 репутации, чтобы ответить на этот вопрос. Требование репутации помогает защитить этот вопрос от спама и случаев отсутствия ответов. Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками python-3.x или задайте свой вопрос.